# 用unittest.TestSuite结合untitest.TextTestRunner执行如下测试用例
# 测试digital函数是否正确,函数定义如下
# def digital(str1):
#     sum = 0
#     for n in str1:
#         if n >= "0" and n <= "9":
#             sum += 1
#     return sum

# digital函数说明:
# 参数str1为任意一个字符串;
# 函数返回值为参数str1中包含的数字个数;
# 如 参数str1的值为”sdfsdfsdf12”, 函数返回值为2;
# 如 参数str1的值为”hello”,函数返回值为0;
#
# 作业要求:
# 以参数str1的值分别为”hello 123”和”1a3b”, “你好”
# 写测试用例, 测试函数digital是否正确


import unittest
from parameterized import parameterized


def digital(str1):
    sum = 0
    for n in str1:
        if n >= "0" and n <= "9":
            sum += 1
    return sum


class my_practice(unittest.TestCase):
    @parameterized.expand([("hello123", 3), ("1a3b", 2), ("你好", 0)])
    def test_001(self, a, b):
        num1 = digital(a)
        self.assertEqual(num1, b)
